gtk+3.0.git
7 years agoMerge branch 'gtk-3-24' into 'gtk-3-24'
Matthias Clasen [Sun, 3 Jun 2018 23:21:33 +0000 (23:21 +0000)]
Merge branch 'gtk-3-24' into 'gtk-3-24'

GtkWindow: Handle non-square icons with height > width correctly

See merge request GNOME/gtk!173

7 years agoGtkWindow: Handle non-square icons with height > width correctly
Christian Stadelmann [Sun, 3 Jun 2018 19:05:46 +0000 (21:05 +0200)]
GtkWindow: Handle non-square icons with height > width correctly

7 years agomenu: Remove unstable annotations
Matthias Clasen [Sun, 3 Jun 2018 13:48:40 +0000 (09:48 -0400)]
menu: Remove unstable annotations

These apis are not going to change in GTK+ 3.x.

7 years agoDrop Ctrl-Shift-e support
Matthias Clasen [Fri, 1 Jun 2018 15:59:55 +0000 (11:59 -0400)]
Drop Ctrl-Shift-e support

Now that we have Emoji completion, drop the rather limited
Ctrl-Shift-e support in GtkIMContextSimple, and leave this
sequence to input methods.

7 years agowidget-factory: add emoji completion to an entry
Matthias Clasen [Tue, 15 Aug 2017 21:35:03 +0000 (17:35 -0400)]
widget-factory: add emoji completion to an entry

7 years agoentry: Add emoji completion
Matthias Clasen [Sat, 19 Aug 2017 18:08:15 +0000 (14:08 -0400)]
entry: Add emoji completion

Pop up completions when the text in the entry matches :word:
This functionality has to be enabled using the enable-emoji-completion
property.

7 years agoAdd an emoji completion popup
Matthias Clasen [Sat, 19 Aug 2017 18:06:47 +0000 (14:06 -0400)]
Add an emoji completion popup

This widget provides entry completion-like functionality
for Emoji codes like :grin: or :kiss:.

7 years agoExport some entry functions privately
Matthias Clasen [Sat, 19 Aug 2017 18:07:59 +0000 (14:07 -0400)]
Export some entry functions privately

This will be used in the following commits.

7 years agoemoji: Hide recent section when empty
Matthias Clasen [Thu, 17 May 2018 15:48:34 +0000 (16:48 +0100)]
emoji: Hide recent section when empty

This is part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.

7 years agoemoji: Improve section scrolling
Matthias Clasen [Thu, 17 May 2018 15:37:26 +0000 (16:37 +0100)]
emoji: Improve section scrolling

Leave some space above the section heading when scrolling.

This is a part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.

7 years agoUpdate Catalan translation
Jordi Mas [Sun, 3 Jun 2018 10:13:19 +0000 (12:13 +0200)]
Update Catalan translation

7 years agotreeview: respect expander-size style property
Christian Hergert [Fri, 6 May 2016 13:12:29 +0000 (16:12 +0300)]
treeview: respect expander-size style property

Without enforcement to the expander-size, we can end up rendering icons
rather fuzzy. This uses the expander-size style property to determine
the square for the icon, centered on what was the calculated space for
the expander.

7 years agowidget: Fix example code in doc
Mohammed Sadiq [Thu, 31 May 2018 10:54:00 +0000 (16:24 +0530)]
widget: Fix example code in doc

7 years agogtksocket: Adjust X sizes by scale-factor
Jason Zaman [Fri, 25 May 2018 03:37:45 +0000 (11:37 +0800)]
gtksocket: Adjust X sizes by scale-factor

X uses unscaled sizes, so they must be scaled properly. Otherwise
GtkSockets end up twice as big as they should be.

Closes: https://bugzilla.gnome.org/show_bug.cgi?id=765327
Signed-off-by: Jason Zaman <jason@perfinion.com>
Close !165

7 years agoMerge branch 'gesture-docs' into 'master'
Matthias Clasen [Wed, 30 May 2018 02:13:04 +0000 (02:13 +0000)]
Merge branch 'gesture-docs' into 'master'

Gesture stuff

See merge request GNOME/gtk!169

(cherry picked from commit 8b24d59cde9410db28c7b61d323fa8b1f0180300)

334c7911 gesture: Fix get_last_event() docs
e9765c04 gesture: Fix code snippet
4d2b39d9 gesturemultipress: Don’t fire ::released after ::cancel

7 years agox11: Don't set NET_WM_PID when sandboxed
Matthias Clasen [Mon, 28 May 2018 16:09:47 +0000 (12:09 -0400)]
x11: Don't set NET_WM_PID when sandboxed

It is not useful, and some window managers misinterpret it and
add some "runs as root" indication to the window decoration.

See https://github.com/mate-desktop/marco/issues/301

7 years agogdk: Add a private api to find sandboxes
Matthias Clasen [Mon, 28 May 2018 16:04:17 +0000 (12:04 -0400)]
gdk: Add a private api to find sandboxes

This will be used in more places in the future.

7 years agoUpdate Spanish translation
Daniel Mustieles [Mon, 28 May 2018 15:53:58 +0000 (15:53 +0000)]
Update Spanish translation

7 years agogdkdnd: Fix 2 typos in docs
Daniel Boles [Sun, 27 May 2018 17:10:02 +0000 (18:10 +0100)]
gdkdnd: Fix 2 typos in docs

7 years agoci: update the docker image to fedora 28
Christoph Reiter [Sun, 27 May 2018 16:38:28 +0000 (18:38 +0200)]
ci: update the docker image to fedora 28

So we get a newer pango

7 years agoMerge branch 'gtk-3-24' into 'gtk-3-24'
Matthias Clasen [Sun, 27 May 2018 15:50:45 +0000 (15:50 +0000)]
Merge branch 'gtk-3-24' into 'gtk-3-24'

icontheme: Keep dir_mtimes in order

See merge request GNOME/gtk!162

7 years agoUpdate Polish translation
Piotr Drąg [Sun, 27 May 2018 06:16:50 +0000 (08:16 +0200)]
Update Polish translation

7 years agoUpdate POTFILES.in and POTFILES.skip
Piotr Drąg [Sun, 27 May 2018 06:03:18 +0000 (08:03 +0200)]
Update POTFILES.in and POTFILES.skip

7 years agoSpinButton: Fix an obviously wrong arg description
Daniel Boles [Sat, 26 May 2018 00:06:00 +0000 (01:06 +0100)]
SpinButton: Fix an obviously wrong arg description

:climb-rate is not about what you get when you single-click on a button,
as this implied: it's what happens if you hold down a button or a key.
Fix the description of @climb_rate to new(), and while here, mention the
key in the blurb of :climb-rate itself.

7 years agoGdkWin: Avoid leak if bailing from process_updates
Daniel Boles [Tue, 22 May 2018 00:16:04 +0000 (01:16 +0100)]
GdkWin: Avoid leak if bailing from process_updates

There is no point creating the list if we don't need to because we are
failing out, and even less point in leaking it in that case.

7 years agoStyleContext: Add a missing apostrophe
Daniel Boles [Mon, 21 May 2018 23:00:32 +0000 (00:00 +0100)]
StyleContext: Add a missing apostrophe

(or rather, the right single quote dictated by the HIG, which is
semantically not an apostrophe at all! I will die on this hill.)

7 years agowayland: check native window for crossing events
Olivier Fourdan [Thu, 19 Apr 2018 12:22:04 +0000 (14:22 +0200)]
wayland: check native window for crossing events

gdk_wayland_*_grab()/ungrab() would emit crossing events which translate
as focus_in/focus_out events for keyboard.

However, the ungrab() functions compare the native toplevel as this is
what gets the Wayland pointer enter/leave events with the grab window,
so if the grab is issued on a child gdk window, those won't match and we
would emit more focus_out events than focus_in events.

This means that a widget such as spice-gtk which issues a keyboard grab
whenever the pointer enters the window and releases the grab when it
leaves the window would get uneven numbers of focus_in/focus_out events.

Also, gdk_wayland_seat_ungrab() would not emit crossing events for
keyboard devices, whereas gdk_wayland_device_ungrab() does, which adds
even more potential discrepancies between focus_in/focus_out events.

To solve this problem, introduce two new helper functions which check
the relevant native windows to emit crossing events when needed that get
called evenly from both gdk_wayland_seat_grab()/ungrab() and gdk_Wayland
_device_grab()/ungrab() APIs.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=780422
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/792
7 years agoicontheme: Keep dir_mtimes in order
Jan Alexander Steffens (heftig) [Wed, 23 May 2018 18:06:01 +0000 (20:06 +0200)]
icontheme: Keep dir_mtimes in order

Don't reverse the order each time we insert a theme. Reverse it only
once, after all themes have been loaded.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1115

7 years agoStyleContext: Don't advise using invalidate()
Daniel Boles [Mon, 21 May 2018 22:38:23 +0000 (23:38 +0100)]
StyleContext: Don't advise using invalidate()

It's deprecated. Also, set_screen() is not used/needed in the demo cited

7 years agoRemove the "without parent" warning
Matthias Clasen [Mon, 21 May 2018 21:15:41 +0000 (17:15 -0400)]
Remove the "without parent" warning

We've had it for a long time, and it hasn't really made
a difference. And I don't think we are prepared to turn
this into a hard error. So just drop it.

7 years agoRange: Up should only mean ++ if we are a GtkScale
Daniel Boles [Mon, 21 May 2018 18:42:57 +0000 (19:42 +0100)]
Range: Up should only mean ++ if we are a GtkScale

The last round of patches to get the desired direction of value move in
response to scrolls/keypresses on scales had the inadvertent side effect
of giving the opposite direction on scrollbars. Seeing as gtkrange.c is
already a collection of hacks, add another so that fix only holds if the
instance is a GtkScale, since that is what those patches were aimed at.

Close https://gitlab.gnome.org/GNOME/gtk/issues/1065

7 years agoProgressBar: Fix typo in doc comment
Daniel Boles [Sun, 20 May 2018 18:28:13 +0000 (19:28 +0100)]
ProgressBar: Fix typo in doc comment

7 years agofont chooser: Support font variations
Matthias Clasen [Sat, 31 Mar 2018 18:43:04 +0000 (14:43 -0400)]
font chooser: Support font variations

Add sliders for the axes on the tweak page.

7 years agofont chooser: Add properties for font features and language
Matthias Clasen [Sat, 31 Mar 2018 13:57:34 +0000 (09:57 -0400)]
font chooser: Add properties for font features and language

These can't be returned as part of the font description,
so we need new api for them. For now, this is just readonly
properties. Maybe these should be writable too, eventually.

7 years agofont chooser: Add font features
Matthias Clasen [Sat, 31 Mar 2018 13:37:18 +0000 (09:37 -0400)]
font chooser: Add font features

Populate the tweak page with OpenType font features.

7 years agofont chooser: Add a tweak page
Matthias Clasen [Sat, 31 Mar 2018 02:49:07 +0000 (22:49 -0400)]
font chooser: Add a tweak page

7 years agofont chooser: introduce font chooser levels
Matthias Clasen [Fri, 30 Mar 2018 19:02:49 +0000 (15:02 -0400)]
font chooser: introduce font chooser levels

This is a more systematic approach to reducing the
level of detail in the font chooser.

7 years agoBump the pango requirement
Matthias Clasen [Sat, 31 Mar 2018 17:35:16 +0000 (13:35 -0400)]
Bump the pango requirement

We want to use the new font variation api in pango 1.41.

7 years agoAdd a flatpak manifest for widget-factory
Matthias Clasen [Thu, 17 May 2018 18:28:28 +0000 (19:28 +0100)]
Add a flatpak manifest for widget-factory

This makes it easier to build GTK+.

7 years agoMerge branch '1053-scroll-cursor-gets-left-behind-if-a-child-widget-steals-the-scroll...
Matthias Clasen [Thu, 17 May 2018 15:19:49 +0000 (15:19 +0000)]
Merge branch '1053-scroll-cursor-gets-left-behind-if-a-child-widget-steals-the-scroll' into 'gtk-3-22'

Resolve "Scroll cursor gets left behind if a child widget steals the scroll"

See merge request GNOME/gtk!134

7 years agotextview: Don't scroll for pastes in another view
Matthias Clasen [Mon, 14 May 2018 12:03:34 +0000 (13:03 +0100)]
textview: Don't scroll for pastes in another view

GtkTextView scrolls to the insertion point when the text
buffer signals a paste is done. This is wrong when there
are multiple views on the same buffer, and the paste
happened in another view.

To fix this, flip the handling of the scroll_after_paste
boolean to only be TRUE if we know that we want to scroll.

7 years agoMerge branch '1069-thread-1-glade-received-signal-sigfpe-arithmetic-exception' into...
Benjamin Otte [Wed, 16 May 2018 12:48:46 +0000 (12:48 +0000)]
Merge branch '1069-thread-1-glade-received-signal-sigfpe-arithmetic-exception' into 'gtk-3-22'

Resolve "Thread 1 "glade" received signal SIGFPE, Arithmetic exception."

See merge request GNOME/gtk!151

7 years agoappchooserdialog: Fix memory leak
Mohammed Sadiq [Sun, 13 May 2018 07:57:07 +0000 (13:27 +0530)]
appchooserdialog: Fix memory leak

7 years agoappchooserdialog: Don't fire notify::heading twice
Mohammed Sadiq [Sun, 13 May 2018 07:51:06 +0000 (13:21 +0530)]
appchooserdialog: Don't fire notify::heading twice

The gtk_app_chooser_dialog_set_heading() function do emit
notify::heading. Since the setter simply calls the function,
the setter itself shouldn't emit a notify signal by itself.

7 years agotextview: Always show select-all button in touch popup
Mohammed Sadiq [Fri, 11 May 2018 04:49:09 +0000 (10:19 +0530)]
textview: Always show select-all button in touch popup

"Select all" action is possible regardless of the text selection state
or if the text is editable or not.

7 years agotextview: Simplify creating bubble action buttons
Mohammed Sadiq [Fri, 11 May 2018 03:17:56 +0000 (08:47 +0530)]
textview: Simplify creating bubble action buttons

Buttons can be created simply with gtk_button_new_from_icon_name().

7 years agoGtkBox: do not divide by zero on gtk_box_size_allocate_with_center()
Juan Pablo Ugarte [Sat, 12 May 2018 14:06:37 +0000 (11:06 -0300)]
GtkBox: do not divide by zero on gtk_box_size_allocate_with_center()

https://gitlab.gnome.org/GNOME/gtk/issues/1069

7 years agoVisual Studio 2008 builds: Generate gtk/gtktypefuncs.c
Chun-wei Fan [Sat, 12 May 2018 03:03:55 +0000 (11:03 +0800)]
Visual Studio 2008 builds: Generate gtk/gtktypefuncs.c

This is the updates to the Visual Studio 2008 projects to generate
gtk/gtktypefuncs.c using the preprocessor and the gentypefuncs.py that
was adapted from master.

Unfortunately we could not clean up the projects as we did for the 201x
ones due to the differences in project file format.

7 years agoVisual Studio 201x builds: Clean up project files
Chun-wei Fan [Sat, 12 May 2018 02:52:47 +0000 (10:52 +0800)]
Visual Studio 201x builds: Clean up project files

Combine repetitive parts, and unify using $(PythonDir) for all builds,
which the paths set in the property sheets are now based on the Visual
Studio version and platform combination.

7 years agoVisual Studio 201x builds: Fix previous commit
Chun-wei Fan [Sat, 12 May 2018 02:24:59 +0000 (10:24 +0800)]
Visual Studio 201x builds: Fix previous commit

Not that it will make a difference, but to be consistent with the
autotools builds.  Include gtkx.h instead of gtk.h when we generate the
source to feed to the preprocessor.

7 years agoVisual Studio 201x builds: Generate gtk/gtktypefuncs.c
Chun-wei Fan [Fri, 11 May 2018 17:12:23 +0000 (01:12 +0800)]
Visual Studio 201x builds: Generate gtk/gtktypefuncs.c

We now need to generate gtktypefuncs.c by ourselves, so modify the
gentypefuncs.py script from master, and add a custom build step in the
projects to generate gtktypefuncs.c.  The custom build step for the 2008
projects will be added later.

7 years agoMerge branch 'wip/restart-cursor-animation-gtk-3' into 'gtk-3-22'
Matthias Clasen [Fri, 11 May 2018 15:24:55 +0000 (15:24 +0000)]
Merge branch 'wip/restart-cursor-animation-gtk-3' into 'gtk-3-22'

wayland: Fix restarting cursor animation

See merge request GNOME/gtk!150

7 years agogtk/Makefile.am: Fix Visual Studio project generation
Chun-wei Fan [Fri, 11 May 2018 10:05:46 +0000 (18:05 +0800)]
gtk/Makefile.am: Fix Visual Studio project generation

We now need the generated sources to be included explicitly in the list
so that they get listed in the project files to be built.

7 years agowayland: Fix restarting cursor animation
Jonas Ådahl [Wed, 9 May 2018 20:13:10 +0000 (22:13 +0200)]
wayland: Fix restarting cursor animation

When an animated cursor was set and the previous cursor animation delay
happened to be the same, we wouldn't restart the animation timeout and
just return G_SOURCE_CONTINUE assuming the timer would continue. This
assumption is however only valid if the function was called from the
timeout, which is not the case.

Instead also arm the timer also if there is no previous timer active.

7 years ago[Quartz] Hardcode screen resolution for text at 96.0.
John Ralls [Tue, 1 May 2018 03:34:45 +0000 (20:34 -0700)]
[Quartz] Hardcode screen resolution for text at 96.0.

It seems that CoreText is internally calibrated for this, see
https://bugzilla.gnome.org/show_bug.cgi?id=787867 for a detailed
discussion.

7 years agogtk: Fix reserved pointers
Benjamin Otte [Tue, 10 Apr 2018 12:22:16 +0000 (14:22 +0200)]
gtk: Fix reserved pointers

So gcc stops complaining about unnecessary parenthesis.

Closes #1059

7 years agoRange: Bin pointless check before emitting signal
Björn Lindqvist [Mon, 24 Mar 2008 21:31:22 +0000 (21:31 +0000)]
Range: Bin pointless check before emitting signal

In scroll_event(), there is no need to check whether we are realized
before emitting ::change-value, as we must be when receiving an event.

Git-formatted/rebased/cleaned up by Daniel Boles <dboles.src@gmail.com>

Close https://gitlab.gnome.org/GNOME/gtk/issues/292

7 years agoMenu: cleanups for previous commit and nearby
Daniel Boles [Sun, 6 May 2018 10:41:12 +0000 (11:41 +0100)]
Menu: cleanups for previous commit and nearby

• #include <math.h> for the new uses of floor()
• Move the new ints and popdown_data into the scopes where they are used
• Don’t pointlessly init other ints to 0 as they always get reassigned
• Burninate gint

7 years agoMenu: Fix broken navigation triangle/hysteresis
Sam Douglas [Tue, 15 Nov 2016 02:57:43 +0000 (02:57 +0000)]
Menu: Fix broken navigation triangle/hysteresis

This issue was caused when mouse coordinates were changed to floating
point values in commit e8b38fedbd8961df4aaaa75b122a06ddc68e75f2.

This patch floors the event->x_root and event->y_root values when
setting the navigation region, so the previous behaviour is restored.

https://gitlab.gnome.org/GNOME/gtk/issues/450

7 years agoScrolledWindow: Unset cursor if child takes scroll
Daniel Boles [Sat, 5 May 2018 10:40:43 +0000 (11:40 +0100)]
ScrolledWindow: Unset cursor if child takes scroll

https://gitlab.gnome.org/GNOME/gtk/issues/1053

7 years agox11: Set a transparent background on windows by default
Benjamin Otte [Fri, 4 May 2018 09:26:15 +0000 (11:26 +0200)]
x11: Set a transparent background on windows by default

This avoids black flicker on compositing WMs when a window is first shown.

7 years agoemoji chooser: Match search terms better
Matthias Clasen [Fri, 4 May 2018 00:18:48 +0000 (20:18 -0400)]
emoji chooser: Match search terms better

Use g_str_match_string for better results.

cherry-pick of be2853e5deb60274e43352352de74dc458908fe2

https://gitlab.gnome.org/GNOME/gtk/issues/898

7 years agoMerge branch 'wip/lantw/gtk3-use-dev-evdev-input-h-on-freebsd' into 'gtk-3-22'
Matthias Clasen [Wed, 2 May 2018 10:56:25 +0000 (10:56 +0000)]
Merge branch 'wip/lantw/gtk3-use-dev-evdev-input-h-on-freebsd' into 'gtk-3-22'

wayland: Use dev/evdev/input.h on FreeBSD (GTK3)

See merge request GNOME/gtk!132

7 years agoUpdate Finnish translation
Jiri Grönroos [Tue, 1 May 2018 19:47:02 +0000 (19:47 +0000)]
Update Finnish translation

7 years agowayland: Use dev/evdev/input.h on FreeBSD
Ting-Wei Lan [Tue, 1 May 2018 14:00:31 +0000 (22:00 +0800)]
wayland: Use dev/evdev/input.h on FreeBSD

The header linux/input.h used by GDK is specific to Linux. It is
possible to get a few Linux headers on FreeBSD by installing v4l_compat,
but it is usually better to use the one shipped with FreeBSD.

We prefer dev/evdev/input.h to linux/input.h here, so it will always use
dev/evdev/input.h on FreeBSD regardless of v4l_compat.

https://svnweb.freebsd.org/changeset/ports/465644

7 years agoMerge branch '169-gtktextview-accesses-already-disposed-object-3-22' into 'gtk-3-22'
Benjamin Otte [Mon, 30 Apr 2018 11:57:14 +0000 (11:57 +0000)]
Merge branch '169-gtktextview-accesses-already-disposed-object-3-22' into 'gtk-3-22'

Resolve "GtkTextView accesses already disposed object" in 3.22

See merge request GNOME/gtk!110

7 years agoMerge branch 'window-activate-grab-3-3' into 'gtk-3-22'
Benjamin Otte [Mon, 30 Apr 2018 09:55:45 +0000 (09:55 +0000)]
Merge branch 'window-activate-grab-3-3' into 'gtk-3-22'

gdk: do not deactivate window on keyboard grabs

See merge request GNOME/gtk!127

7 years agogdk: do not deactivate surface on keyboard grabs
Samuel Thibault [Thu, 19 Apr 2018 12:10:23 +0000 (14:10 +0200)]
gdk: do not deactivate surface on keyboard grabs

When pressing e.g. a window manager shortcut, which acquires keyboard grab,
Xorg would send FocusOut NotifyGrab then FocusIn NotifyUngrab.  Currently
gdk would then deactivate the current surface, which makes accessibility
screen readers think that we have switched to a non-accessible application
and came back again, and thus reannounce the application frame etc. which we
don't want when e.g. just raising volume.

And actually, receiving FocusOut NotifyGrab does not mean losing the
X focus, it only means an application aqcuired a grab, i.e. it is
temporarily stealing keyboard events. On Wayland, this isn't even
notified actually.

This commit makes gdk only deactivate surfaces when there was an actual
focus switch to another window, as determined by has_focus_window (instead
of just has_focus), which happens either normally through FocusOut with
NotifyNormal, or during grabs through FocusOut with NotifyWhileGrabbed.

Fixes #85

(cherry picked from commit 01455399e83a3dbafb0cdc6e12c7003b2f472a40)

8 years agogtkselection: ensure W32 functions used only for W32 displays (v2)
Руслан Ижбулатов [Thu, 26 Apr 2018 19:46:24 +0000 (19:46 +0000)]
gtkselection: ensure W32 functions used only for W32 displays (v2)

Another instance of a check needed for gdk_win32_selection_add_targets().

8 years agogtkselection: ensure W32 functions used only for W32 displays
Руслан Ижбулатов [Thu, 26 Apr 2018 19:36:27 +0000 (19:36 +0000)]
gtkselection: ensure W32 functions used only for W32 displays

gdk_win32_selection_add_targets() is for W32 displays only.

8 years agoimcontextsimple: ensure W32 code only runs on W32 displays
Руслан Ижбулатов [Thu, 26 Apr 2018 17:42:49 +0000 (17:42 +0000)]
imcontextsimple: ensure W32 code only runs on W32 displays

gdk_win32_keymap_check_compose() shouldn't be called for
non-W32 displays (i.e. when using broadway or other backends
that could be made to run on Windows).

8 years agofishbowl: Port version from GTK 4
Benjamin Otte [Wed, 25 Apr 2018 21:57:44 +0000 (23:57 +0200)]
fishbowl: Port version from GTK 4

This version also merges widgetbowl into fishbowl.

8 years agoAdd _gtk_printer_get_hard_margins_for_paper_size()
Adrian Johnson [Mon, 16 Apr 2018 11:53:44 +0000 (13:53 +0200)]
Add _gtk_printer_get_hard_margins_for_paper_size()

to retreive paper size specific hard margins and use this
to set the hard margins in the print context.
(modified by Marek Kasik <mkasik@redhat.com>)

https://bugzilla.gnome.org/show_bug.cgi?id=686109

8 years agoUpdate Spanish translation
Daniel Mustieles [Wed, 25 Apr 2018 11:29:02 +0000 (11:29 +0000)]
Update Spanish translation

8 years agotestentrycompletion: Avoid a compiler cast warning
Daniel Boles [Tue, 24 Apr 2018 12:40:02 +0000 (13:40 +0100)]
testentrycompletion: Avoid a compiler cast warning

Instead of getting the model again but then forgetting to cast it to a
ListStore, just use the other variable store where we already did both.

8 years agoUpdate Russian translation
Stas Solovey [Tue, 24 Apr 2018 10:00:32 +0000 (10:00 +0000)]
Update Russian translation

8 years agowayland: Allow a NULL inhibitors hash table
Emmanuele Bassi [Mon, 23 Apr 2018 09:02:43 +0000 (10:02 +0100)]
wayland: Allow a NULL inhibitors hash table

The shortcuts inhibitors hash table is created when we create a
GdkWaylandWindow implementation for a GdkWindow, and it's destroyed once
we finalize the instance. The fake "root" window we create for the
Wayland display does not have a backing native window, so the shortcuts
inhibitors hash table is set to NULL; this causes a critical error
message when calling g_hash_table_destroy() on it. The finalization of
the root window happens when we close a display connection.

We should use g_clear_pointer(), instead, as it's NULL safe.

Without this change, the displayclose test fails, as all warnings are
considered fatal.

8 years agobuild: Do not dist generated files
Emmanuele Bassi [Mon, 23 Apr 2018 08:12:13 +0000 (09:12 +0100)]
build: Do not dist generated files

We expect these files to be regenerated even when building GTK+ from a
release tarball, so there's no point in distributing them if they are
going to be ignored.

8 years agox11: Query whether we have GLX support
Emmanuele Bassi [Thu, 16 Feb 2017 00:04:50 +0000 (00:04 +0000)]
x11: Query whether we have GLX support

Epoxy 1.4 has new ad hoc API that we can use to check whether GLX is
available on the current system.

If we didn't use this API, we'd have to manually dlopen libGL (or its
equivalent on different OSes) and check if it had GLX symbols; since
Epoxy already does all of this internally, we can simply ask it instead.

https://bugzilla.gnome.org/show_bug.cgi?id=775279
(cherry picked from commit 02eb344950547c66a9096094f271b98e94614fcb)
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
8 years agoBump up the dependency of libepoxy
Emmanuele Bassi [Wed, 11 Apr 2018 15:31:55 +0000 (16:31 +0100)]
Bump up the dependency of libepoxy

We're going to use API introduced in libepoxy 1.4 to check for GLX
availability.

https://bugzilla.gnome.org/show_bug.cgi?id=775279

8 years agothemes: Fix a new comment
Daniel Boles [Sun, 22 Apr 2018 21:20:57 +0000 (22:20 +0100)]
themes: Fix a new comment

bah.

8 years agothemes: Fix swapped borders on RTL PathBar buttons
Daniel Boles [Sun, 22 Apr 2018 20:43:20 +0000 (21:43 +0100)]
themes: Fix swapped borders on RTL PathBar buttons

.linked assumes the container is a GtkBox, which is documented as never
flipping children in RTL, so :first-child is always the left child, etc.
GtkBox does that by reordering its CSS nodes when the direction changes.

But most widgets don’t do that, so :first|last-child are 1st/last ADDED
and swap sides in RTL. GtkPathBar is so, and ignoring that in our themes
meant that in RTL, its left/right buttons got each other’s borders. Yuk!

This patch adds the groundwork for supporting widgets like that, via the
%linked_flippable placeholder, and applies that to override buttons in
  filechooser .path-bar.linked > button
so that the correct borders get applied to those buttons when using RTL.

Note that I select only PathBars within a FileChooser because we also
have NautilusPathBar, which also uses widget.path-bar – but *does* flip
its nodes for RTL already, so letting that get affected broke it again!

https://bugzilla.gnome.org/show_bug.cgi?id=772817

8 years agoMenuButton: popover connects to menu_deactivate_cb
Daniel Boles [Sun, 22 Apr 2018 15:25:54 +0000 (16:25 +0100)]
MenuButton: popover connects to menu_deactivate_cb

This was missed (even before my recent patches).

https://gitlab.gnome.org/GNOME/gtk/issues/199

8 years agoMenuButton: Disconnect newly added signal handler
Daniel Boles [Sun, 22 Apr 2018 15:25:07 +0000 (16:25 +0100)]
MenuButton: Disconnect newly added signal handler

Otherwise, we do stuff we shouldn't, as the failing pipeline showed:
https://gitlab.gnome.org/GNOME/gtk/pipelines/9431

https://gitlab.gnome.org/GNOME/gtk/issues/199

8 years agoMenuButton: Clarify NULL popup/over/menu/model doc
Daniel Boles [Sun, 22 Apr 2018 15:02:55 +0000 (16:02 +0100)]
MenuButton: Clarify NULL popup/over/menu/model doc

8 years agoMenuButton: Drop ref to Popover on its ::destroy
Daniel Boles [Sun, 22 Apr 2018 13:52:27 +0000 (14:52 +0100)]
MenuButton: Drop ref to Popover on its ::destroy

Otherwise, if the Popover is destroyed before the MenuButton, the latter
still had a non-NULL but invalid instance and tried to use it in dispose

https://gitlab.gnome.org/GNOME/gtk/issues/199

8 years agodocs/running: Document the GTK_OVERLAY_SCROLLING env var
Daniel Boles [Sat, 21 Apr 2018 00:34:41 +0000 (01:34 +0100)]
docs/running: Document the GTK_OVERLAY_SCROLLING env var

https://bugzilla.gnome.org/show_bug.cgi?id=786524

8 years agoStock: Emphasise deprecation; explain alternatives
Daniel Boles [Sat, 21 Apr 2018 00:02:59 +0000 (01:02 +0100)]
Stock: Emphasise deprecation; explain alternatives

A user in #gtk+ was confused what to do instead of creating a Button via
gtk_button_new_from_stock(). Our docs could stand to be clearer on this
point; it only costs a few lines. So, link from that constructor* to the
GtkStock doc, and add a banner there telling folk they shouldn’t use it.

* not that most [of these][links] even work right now…

8 years agoEntry: Show optional style classes in node diagram
Daniel Boles [Wed, 18 Apr 2018 23:50:50 +0000 (00:50 +0100)]
Entry: Show optional style classes in node diagram

8 years agogdkselection: Clarify that X is only a design base
Daniel Boles [Wed, 18 Apr 2018 23:13:04 +0000 (00:13 +0100)]
gdkselection: Clarify that X is only a design base

rather than being a requirement for using our selection APIs.

https://bugzilla.gnome.org/show_bug.cgi?id=791542

8 years agoa11y/ScrolledWin|IconView: Connect signals safely
Juan Pablo Ugarte [Thu, 19 Oct 2017 18:16:43 +0000 (15:16 -0300)]
a11y/ScrolledWin|IconView: Connect signals safely

Use g_signal_connect_data() instead of g_signal_connect_object()
to make sure the callback gets disconnected when the data object
is destroyed. This avoids problems in garbage-collected bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=789215

8 years agoprinting: Be more careful when deserializing
Matthias Clasen [Fri, 20 Apr 2018 20:56:28 +0000 (16:56 -0400)]
printing: Be more careful when deserializing

The GVariant we are getting here might not be coming
from GTK+, but rather from some other source. Best to
be forgiving and deal with missing data without crashing.

This was causing the GTK+ portal backends to crash on
print requests from Qt.

8 years agoMerge branch 'stack-set-name-guard' into 'gtk-3-22'
Emmanuele Bassi [Thu, 19 Apr 2018 08:38:09 +0000 (08:38 +0000)]
Merge branch 'stack-set-name-guard' into 'gtk-3-22'

stack: protect set_visible_child_name from NULL stack

See merge request GNOME/gtk!117

8 years agoMerge branch 'gtkplacesview-finalization-fixes-master' into 'master'
Emmanuele Bassi [Thu, 19 Apr 2018 08:24:49 +0000 (08:24 +0000)]
Merge branch 'gtkplacesview-finalization-fixes-master' into 'master'

Gtkplacesview finalization fixes

See merge request GNOME/gtk!119

(cherry picked from commit e30176a5228228f28f914d87120b9a650d0073b8)

f9452957 gtkplacesview: unset entry_pulse_timeout_id before removing it
4900c3eb gtkplacesview: disconnect from server list monitor changes on destroy

8 years agostack: protect set_visible_child_name from NULL stack
Marco Trevisan (Treviño) [Thu, 19 Apr 2018 01:58:57 +0000 (20:58 -0500)]
stack: protect set_visible_child_name from NULL stack

Return with error if gtk_stack_set_visible_child_name is called
with NULL parameter

8 years agoUIManager: Document deprecation; link replacements
Daniel Boles [Wed, 18 Apr 2018 22:31:47 +0000 (23:31 +0100)]
UIManager: Document deprecation; link replacements

Close https://gitlab.gnome.org/GNOME/gtk/issues/193

8 years agoRange: Use should_invert_move() to scroll value
Daniel Boles [Mon, 1 Jan 2018 14:28:16 +0000 (14:28 +0000)]
Range: Use should_invert_move() to scroll value

This fixes RTL and/or :inverted Ranges responding to a horizontal scroll
by moving the value/slider button in the opposite direction... See prev.

https://bugzilla.gnome.org/show_bug.cgi?id=791802

8 years agoRange: Add should_invert_move() for scrolls & keys
Daniel Boles [Tue, 17 Apr 2018 20:44:16 +0000 (21:44 +0100)]
Range: Add should_invert_move() for scrolls & keys

This will be used in subsequent commits to fix the sign by which the
value is changed in response to directional scroll or keypress events.

The idea is: you have a movement to make – in the form of a delta that
follows widget directions, i.e. −1 means left or up, +1 means right or
down – and you want to know whether that delta needs to be inverted in
order to produce the intuitively expected directional change of :value.

The existing should_invert() is not sufficient: it just determines
whether to invert visually, but we need more nuance than that for input.

To answer that – while not doubling up the work for scrolls and keys – I
add a helper should_invert_move(), which considers other relevant state:

 • A parallel movement on priv->orientation should just use the existing
   should_invert(), which already worked OK for this case (not others).

 • Movements on the other orientation now depend on priv->orientation:

    ◦ For a horizontal Range, always invert, so up (i.e. −ve in terms of
      widget coords) always means increase value & vice-versa. This was
      done in get_wheel_delta(), but move it here for use with keys too.

    ◦ For a vertical Range, ignore :invert as it’s only relevant to the
      parallel orientation. Do not care about text direction here either
      as RTL locales do not invert number lines, Cartesian plots, etc.

This returns TRUE if the delta should be inverted before applying to the
value, and we can now use this function in both scroll and key handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802

8 years agoMenu|Item: Fix FIXME re non-const interned strings
Daniel Boles [Tue, 17 Apr 2018 19:03:07 +0000 (20:03 +0100)]
Menu|Item: Fix FIXME re non-const interned strings

These are members of the private struct, so it hurts no one to fix this.

8 years agoMenu: Sanitise @torn_off gboolean in public API
Daniel Boles [Tue, 17 Apr 2018 18:56:54 +0000 (19:56 +0100)]
Menu: Sanitise @torn_off gboolean in public API